package com.medsys.delegate;

import com.medsys.appservice.MedicoAppService;
import com.medsys.model.Medico;
import com.medsys.view.Menu;

public class MedicoDelegate {
	
	private static MedicoAppService service = new MedicoAppService(); 
	private static Medico medico = null; 
	private static Menu menu = Menu.getInstance(); 
	
	public void cadastrar(){
		
		System.out.println("*** Cadastro de Medico ***");
		
		String nome = menu.readStr("Nome: ");
		String cpf = menu.readStr("CPF: ");
		String rg = menu.readStr("RG: ");
		String endereco = menu.readStr("Endereco: ");
		String crm = menu.readStr("CRM: ");
		
		Medico medico = new Medico();
		medico.setNome(nome);
		medico.setCpf(cpf);
		medico.setIdentificacaoCivil(rg);
		medico.setEndereco(endereco);
		medico.setCrm(crm);
		
		service.salvar(medico);
		System.out.println("Medico cadastrado com sucesso.");
		menu.readStr("Pressione <ENTER> para continuar");
		
	}
	
	public void consultar(){
		
		System.out.println("*** Consulta de Medico ***");
		
		System.out.println("1 - Por ID");
		System.out.println("2 - Por CRM");
		int op = menu.readInt("Digite uma opcao: ");
		
		if(op == 1){
			int id = menu.readInt("Digite o ID do Medico: ");
			medico = new Medico();
			medico = service.pesquisarPorId(new Long(id));
			System.out.println(medico.toString());
			menu.readStr("Pressione <ENTER> para continuar");
		}else if(op == 2){
			String crm = menu.readStr("Digite o CRM do Medico: ");
			medico = new Medico();
			medico = service.pesquisarPorCrm(crm);
			System.out.println(medico.toString());
			menu.readStr("Pressione <ENTER> para continuar");
		}else{
			System.out.println("Opcao invalida.");
		}

	}
	
	public void atualizar(){
		
		System.out.println("*** Atualizacao de Medico ***");
		int id = menu.readInt("Digite o ID do Medico que deseja alterar: ");
		
		Medico medico = new Medico();
		medico = service.pesquisarPorId(new Long(id));
		
		System.out.println("Digite as novas informacoes:");
		String nome = menu.readStr("Nome: ");
		String cpf = menu.readStr("CPF: ");
		String rg = menu.readStr("RG: ");
		String endereco = menu.readStr("Endereco: ");
		String crm = menu.readStr("CRM: ");
		
		medico.setNome(nome);
		medico.setCpf(cpf);
		medico.setIdentificacaoCivil(rg);
		medico.setEndereco(endereco);
		medico.setCrm(crm);
		
		service.alterar(medico);
		System.out.println("Medico atualizado com sucesso.");
		
	}
	


}
